A computer network is a collection of interconnected computing devices that can exchange data and share resources. In a packet-based network, such as the Internet, the computing devices communicate data by dividing the data into small blocks called packets, which are individually routed across the network from a source device to a destination device. The destination device extracts the data from the packets and assembles the data into its original form. Dividing the data into packets enables the source device to resend only those individual packets that may be lost during transmission.
An Internet service provider (ISP) is a company that provides customers, e.g., individuals or other companies, access to the Internet and other related services. The ISP may provide customers with service level agreements (SLAs), which guarantee a particular level of service. An SLA is a contractual obligation between the ISP and the respective customer that identifies details of the network services provided by the provider, such as a guaranteed availability of the service, amount of bandwidth, maximum latency, maximum packet loss, maximum amount of jitter and the like. Failure to provide the service level guarantee to the customer may result in consequences to the service provider. For example, the service provider may have to credit the customer's account when the SLA is not upheld.
For this reason, it is important for ISPs to monitor performance of the network to determine the existence of any service problems. For example, monitoring performance of the network may allow the ISP to determine whether or not bandwidth allocated to a particular customer must be increased in order to decrease latency or packet loss. Moreover, the ISP may be able to monitor capacity of network devices, such as routers, and upgrade or expand the network devices to increase the capacity of the network, thereby decreasing packet loss, delay, and the like.